/*
 * Copyright (C) 2023 xuexiangjys(xuexiangjys@163.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

package com.xuexiang.templateproject.view;

import com.xuexiang.templateproject.bean.Box;
import com.xuexiang.templateproject.bean.GradeEntity;
import com.xuexiang.templateproject.bean.ImageUploadEntity;
import com.xuexiang.templateproject.bean.MatchV2Entity;
import com.xuexiang.templateproject.bean.SubjectManagerEntity;
import com.xuexiang.templateproject.bean.Video;
import com.xuexiang.templateproject.bean.VideoDetailEntity;
import com.xuexiang.templateproject.presenter.IBaseView;

import org.jetbrains.annotations.NotNull;

import java.util.HashMap;
import java.util.List;

public interface NewMatchContract extends IBaseView {
    void getTextExtraction(@NotNull String str);

    void uploadAnswerImageSuccess(@NotNull List<ImageUploadEntity> list, @NotNull HashMap<String, Object> hashMap, boolean z, boolean z2);

    void getSubmitSuccess(@NotNull String str, @NotNull String str2, boolean z, boolean z2);

    void getSubjectSuccess(@NotNull SubjectManagerEntity subjectManagerEntity);

    void getTextExtraction();

    void getVideoFinishSuccess();

    void getSwitchSuccess();

    void getHandRemove(@NotNull String str);

    void getGradeAdultSuccess(@NotNull List<GradeEntity> list);

    void getVideoUrlSuccess(@NotNull VideoDetailEntity videoDetailEntity, @NotNull Video video);

    void getMatchError(@NotNull List<Box> list);

    void getMatchSuccess(@NotNull MatchV2Entity matchV2Entity, @NotNull List<Box> list);
}
